package main.java.Jdk8;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

/*
  JDK8中的流式(Stream)操作
  JDK8中推出Stream的目的是为了更好的对集合数据进行处理(排序，统计，映射....)
  Stream应用的步骤：
  1)创建Stream对象
  2)执行中间操作(排序,筛选，...)
  3)终止操作(结束的一个操作)
 */
public class StreamDemo01 {
    public static void main(String[] args) {
        List<Integer> list1 = Arrays.asList(10, 12, 3, 24, 55, 16, 67, 18, 39, 10);
        List<Integer> list2 = Arrays.asList(10, 12, 31, 24, 55, 16, 67, 18, 39, 11);

        //1.对集合元素进行排序并输出结果
        list1.stream().sorted().forEach(System.out::println);
        System.out.println("---------------------------------------");
        //2.对list2的内容进行排序并输出结果
        //创建Stream对象
        Stream<Integer> stream = list2.stream();
        //将 stream 对象中的元素进行排序，并将排序后的结果赋值给新的 Stream<Integer> 对象 sorted
        Stream<Integer> sorted = stream.sorted();
        //将排序后的结果输出
        sorted.forEach(System.out::println);
    }
}
